import msg from '@/utils/resetMessage'
/**
 * SDK辅助定位,获取当前的具体位置信息（请升级站点到HTTPS才能准确定位）
 *    入参：BMAP
 *          map
 *    返参：
 * */
export const GET_LOCATION = (BMAP: any, map: any) => {
  const geolocation = new BMAP.Geolocation() // 创建浏览器定位
  geolocation.enableSDKLocation() // 开启SDK辅助定位
  geolocation.getCurrentPosition(function (r: any) {
    if (window['BMAP_STATUS_SUCCESS'] === geolocation.getStatus()) {
      msg.success('定位成功')
      const pointObj = r.point
      // 获取当前坐标的准确位置
      const gc = new BMAP.Geocoder() // 创建地理编码器
      gc.getLocation(pointObj, function (rs: any) {
        // rs.surroundingPois.forEach((v: any) => {
        //   // console.log('---附近地点---', v.address)
        // })
        const marker = new BMAP.Marker(pointObj) // 创建标注
        marker.setAnimation(window['BMAP_ANIMATION_BOUNCE']) // 跳动的动画
        map.addOverlay(marker) // 将标注添加到地图中
        map.panTo(pointObj)
        const address = rs.surroundingPois.length ? rs.surroundingPois[0].address : rs.address
        marker.addEventListener('mouseover', function () {
          // 设置标注文本内容及颜色
          const label = new BMAP.Label(address, { offset: new BMAP.Size(15, -15) })
          label.setStyle({
            border: '1px solid #ed2d2d',
            borderRadius: '3px',
            padding: '0 5px',
            color: ' #ed2d2d'
          })
          marker.setLabel(label)
        })
        marker.addEventListener('mouseout', function () {
          const label = marker.getLabel()
          label.setContent('') // 设置标签内容为空
          label.setStyle({ borderWidth: '0px' }) // 设置标签边框宽度为0
        })
      })
    } else {
      msg.error('定位失败')
    }
  })
}
